﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace Mvc.Models
{
    [Table("TBR_Proyectos")]
    public class Proyecto
    {
        [Key]
        public int ProyectoId { get; set; }
        [Display(Name = "Nombre del proyecto")]
        [DataType(DataType.MultilineText)]
        [Required(ErrorMessage = "El nombre es requerido")]
        public string Nombre { get; set; }

        [Display(Name = "Código")]
       
        [Required(ErrorMessage = "El nombre es requerido")]
        public string Codigo { get; set; }

        [Display(Name = "Regional")]
        [Required(ErrorMessage = "Debe eligir una regional ")]
        public int BranchId { get; set; }
        public virtual Branch Branch { get; set; }

        [Display(Name = "Departamento")]
        [Required(ErrorMessage = "Debe eligir un departamento")]
        public int DepartamentoID { get; set; }
        public virtual Departamento Departamento { get; set; }

        [Display(Name = "Municipio")]
        [Required(ErrorMessage = "Debe eligir un municipio")]
        public int MunicipioID { get; set; }
        public virtual Municipio Municipio { get; set; }

        [Display(Name = "Tipo de proyecto")]
        [Required(ErrorMessage = "Debe eligir un  tipo de proyecto")]
        public int TipoProyectoID { get; set; }
        public virtual TipoProyecto TipoProyecto { get; set; }

        [Display(Name = "Remitente")]
        [Required(ErrorMessage = " Este campo es obligatorio")]
        public string Remitente { get; set; }

        [Display(Name = "Anexos")]
        [DataType(DataType.MultilineText)]
        public string Anexos { get; set; }
       

        [Display(Name = "Subgerencia")]

        [Required(ErrorMessage = "Debe eligir la subgerencia")]
        public String Subgerencia { get; set; }
        
        [Display(Name = "Fecha recibido")]
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
        public DateTime FechaRecibido { get; set; }

        [Display(Name = "Observaciones")]
        [DataType(DataType.MultilineText)]
        [Required(ErrorMessage = "Las observaciones son requeridas")]
        public String Observaciones { get; set; }
        
        [Display(Name = "Objeto")]
        [DataType(DataType.MultilineText)]
        public String ObjetoProyecto { get; set; }

        [Display(Name = "Valor proyecto")]        
        public decimal ValorProyecto { get; set; }

        [Display(Name = "Valor Financiacion")]
        public decimal ValorFinanciacion { get; set; }

        [Display(Name = "Nombre Representante Legal")]
        [StringLength(60, MinimumLength = 0)]
        public String RepresentanteLegal { get; set; }

        [Display(Name = "Documento Representante Legal")]
        [StringLength(60, MinimumLength = 0)]
        public String DocumentoRepresentante { get; set; }


        [Display(Name = "Entidad postulante")]
        [StringLength(60, MinimumLength = 0)]
        public String Entidad { get; set; }

        [Display(Name = "Nit")]
        [StringLength(11, MinimumLength = 0)]
        public String NitEntidad { get; set; }

        [Display(Name = "Número radicado entrada")]
        [StringLength(60, MinimumLength = 0)]
        [Required(ErrorMessage = "Este campo es  requerido")]

        public String RadicadoEntrada { get; set; }


        [Display(Name = "Número radicado salida")]
        [StringLength(60, MinimumLength = 0)]
        public String RadicadoSalida { get; set; }


    }
}